In the following, repeated mention will be made to bibliographical references. In order not to overburden the treatment, said references will be indicated in the body of the description with a number in square brackets (e.g., [x]) that identifies the reference within a “List of references” provided at the end of the description.
In the last few years there has been an evolution of computer systems, with the passage from the mainframe approach to the distributed client/server approach, up to computer networks. Said trend is linked to the increasing availability of fast and reliable microprocessors, produced in bulk and at a low cost.
In modern processing systems, the use of server computer networks is becoming widespread. Even in overloaded systems it may, however, happen that a significant percentage of the machines or servers included in the computer network are inactive or underloaded for a large part of the time.
A better use of the distributed computer environment can be obtained via implementation of selective-allocation or scheduling algorithms. A new paradigm of computational power is called a “grid”. As a matter of fact, providing an integrated computing-grid environment makes it possible to give rise to computer infrastructures with high potential.
From a conceptual standpoint, a grid is simply a set of computer resources that perform jobs/threads assigned thereto. The grid is a distributed system of a heterogeneous type in terms of hardware and software (for example Operating Systems and applications). The grid appears to the users as a single large system that offers a single access point to distributed and powerful resources. The users treat the grid as a single computer resource. The grid accepts the tasks or jobs assigned by the users and allocates them selectively (i.e., schedules them) in view of their execution on suitable systems, included in the grid, on the basis of resource-management policies. The users can hence entrust to the grid tasks without having to be concerned about where these tasks will materially be executed.
Some main advantages linked to the use of a computing grid hence are:                reduction of the hardware costs;        computing server-workload balancing (via a load-management system);        capacity of managing heterogeneous systems;        increase in productivity; and        reducing hardware obsolescence of the hardware.        
In distributed systems, the tasks or jobs concur with one another in accessing the shared and distributed resources.
In this regard, at a conceptual level, one could consider the possibility for the users of the grid to implement an approach of manual booking of the grid resources. This approach would leave the choice and the estimation of the necessary resources up to the user of the grid, and this would inevitably imply risks of overestimation or underestimation of the resources following upon human error with consequent waste of the grid resources.
In addition, the users would have to estimate the right amount of hardware resources to reserve for that specific application (in terms of time of CPU and RAM usage). Finally, the user would have to know how to estimate the time of execution for that specific job [3].
Game Theory is a branch of economics and applied mathematics that analyzes the situations of conflict and seeks competitive and cooperative solutions via models in which different players choose the strategies to maximize their own gains or profits. The decisions of a subject can affect the results that can be achieved by a player according to a conjecture mechanism. The move, or set of moves, that a subject intends to make is called “strategy”.
The applications and interactions of Game Theory are multiple: from the economic and financial field to the strategic-military field, from politics to sociology, from psychology to computer science, from biology to sport.
For example, in US 2008/263557 A1, which is incorporated by reference, a scheduler device is described for scheduling execution of jobs via the resources of a computing grid; said scheduler is configured for:                identifying a threshold of equilibrium between resources and jobs;        below the equilibrium threshold, scheduling execution of the jobs via the resources of the computing grid according to Pareto-optimal strategies; and        above the equilibrium threshold, scheduling execution of the jobs via the grid-computing resources according to Nash-Equilibrium strategies.        
Documents such as [2, 7] present scheduling algorithms based upon Nash Equilibrium designed to achieve the goal of maximizing the overall throughput in distributed systems. Specifically, document [2] discloses a Nash-Equilibrium-based algorithm for scheduling jobs on a grid cluster, and the results obtained thereby are compared with the results achieved with other allocation strategies such as MinMin, random, and “load balancing”. In some situations, such as, for example, in the case of the “Prisoner's dilemma”, the Nash-equilibrium solution is not, however, the Pareto-optimal solution [8, 9].